package com.ssy.lingxi.product.utils;

import com.google.zxing.BarcodeFormat;
import com.google.zxing.WriterException;
import com.google.zxing.client.j2se.MatrixToImageWriter;
import com.google.zxing.common.BitMatrix;
import com.google.zxing.qrcode.QRCodeWriter;

import java.io.IOException;
import java.nio.file.FileSystems;
import java.nio.file.Path;

/**
 * @author jw.chen
 * @version 2.0.0
 * @description 二维码工具类
 * @date 2021/11/30
 */
public class QRCodeUtil {

    /**
     * 生成普通二维码
     * @param text      内容
     * @param width     宽度
     * @param height    高度
     * @param filePath  二维码生成的路径
     * @param suffix    文件名后缀
     */
    public static void createQRCodeImage(String text, int width, int height, String filePath, String suffix) throws WriterException, IOException {
        QRCodeWriter qrCodeWriter = new QRCodeWriter();
        BitMatrix bitMatrix = qrCodeWriter.encode(text, BarcodeFormat.QR_CODE, width, height);
        Path path = FileSystems.getDefault().getPath(filePath);
        MatrixToImageWriter.writeToPath(bitMatrix, suffix, path);
    }

}
